Enhanced program guide

ABSTRACT

Systems and methods described herein relate to an enhanced program guide for programs that are broadcast according to a defined schedule. Program titles included in the guide can be ordered based on a relevance rank or score, potentially with no other parameter employed in determining a position of a program title within the guide. Presentation of the guide can be independent of a time axis or dimension and a channel axis or dimension. Titles can be displayed in a manner that is independent of a start time or running length of the associated program.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/066,614, filed Mar. 10, 2016, which is a continuation of U.S. patentapplication Ser. No. 13/919,736, filed Jun. 17, 2013, each of which ishereby incorporated by reference herein in its entirety.

TECHNICAL FIELD

This disclosure generally relates to an enhanced program guide forprograms aired or broadcast according to a defined schedule.

BACKGROUND

Historically, television program guides were displayed as atwo-dimensional grid, with a station/channel dimension (usually they-axis) and a time dimension (usually the x-axis). For example,traditional guides lay out content with rows that include a set ofsequentially numbered broadcast or cable channels with content thatspans the time dimension columns such as now, 30 min from now, 60 minfrom now, etc.

In recent years, certain improvements have been set forth. For example,it has been recognized that channel information is not particularlyimportant because such merely represents the source of the broadcastcontent. In fact, most users are more interested in the actual broadcastcontent over the source of that content. Accordingly, some programguides arrange program content in a two-dimensional grid with a timedimension (again, usually the x-axis), but with various differentinformation provided according to the y-axis, such as genre.

SUMMARY

The following presents a simplified summary of the specification inorder to provide a basic understanding of some aspects of thespecification. This summary is not an extensive overview of thespecification. It is intended to neither identify key or criticalelements of the specification nor delineate the scope of any particularembodiments of the specification, or any scope of the claims. Itspurpose is to present some concepts of the specification in a simplifiedform as a prelude to the more detailed description that is presented inthis disclosure.

Systems disclosed herein relate to an enhanced program guide forprograms broadcast according to a defined schedule. A data component canbe configured to receive program schedule data for a set of channels.The program schedule data can include a title of a program broadcast ona channel from the set of channels and a time associated with thebroadcast of the program. An analysis component can be configured todetermine a relevance rank associated with the program. A guidecomponent can be configured to select the title for inclusion in theprogram guide based on the relevance rank. The guide component canfurther determine a position within the program guide for the titlebased on the relevance rank.

The following description and the drawings set forth certainillustrative aspects of the specification. These aspects are indicative,however, of but a few of the various ways in which the principles of thespecification may be employed. Other advantages and novel features ofthe specification will become apparent from the following detaileddescription of the specification when considered in conjunction with thedrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Numerous aspects, embodiments, objects and advantages of the presentinvention will be apparent upon consideration of the following detaileddescription, taken in conjunction with the accompanying drawings, inwhich like reference characters refer to like parts throughout, and inwhich:

FIG. 1 illustrates a block diagram of an example system that can createan enhanced program guide that can be presented independently of achannel axis and a time axis in accordance with certain embodiments ofthis disclosure;

FIG. 2A illustrates a block diagram of a single-row example of theprogram guide in accordance with certain embodiments of this disclosure;

FIG. 2B illustrates a block diagram of a grid-based example of theprogram guide in accordance with certain embodiments of this disclosure;

FIG. 3 illustrates a block diagram of a multi-category example of theprogram guide in accordance with certain embodiments of this disclosure;

FIG. 4 illustrates a graphic illustration depicting an example mock upof an example the program guide in accordance with certain embodimentsof this disclosure;

FIG. 5 illustrates a block diagram of various example factors fordetermining the relevance rank in accordance with certain embodiments ofthis disclosure;

FIG. 6 illustrates a block diagram of an example system providingadditional features or detail in connection with the analysis componentin accordance with certain embodiments of this disclosure;

FIG. 7 illustrates an example methodology that can provide for anenhanced program guide that can be presented independent of a channelaxis and a time axis in accordance with certain embodiments of thisdisclosure;

FIG. 8 illustrates an example methodology that can provide foradditional features or aspects in connection with the enhanced programguide in accordance with certain embodiments of this disclosure;

FIG. 9 illustrates an example schematic block diagram for a computingenvironment in accordance with certain embodiments of this disclosure;and

FIG. 10 illustrates an example block diagram of a computer operable toexecute certain embodiments of this disclosure.

DETAILED DESCRIPTION Overview

As noted in the background section, traditional program guides arrangeinformation included in the guide in a two-dimensional grid. Typically,one axis of the grid relates to a channel identifier, genre, or someother category and the other axis relates to time. Such an arrangementis adequate, but can be improved and/or simplified. For example, incases where channel number is used, such forces users to memorizechannel numbers, channel blocks, or channel names and/or relativelocations. Such also means that all visible content sourced from a givenchannel has to be shown at once and cannot be distributed across theguide based on its relevance or importance. Moreover, even in cases inwhich a channel identifier is not used, programs that are underway ornearly complete might have the same weight within the guide as ones thatare starting or about to start. Such makes it difficult to focus theuser on better choices based on time remaining for content. For instancea two-hour movie that has 30 minutes remaining is given equal weight asa 30 minute program starting right now, which is an illogical outcomegiven content consumers are not likely to be interested in a movie thatis almost over, but are much more likely to be interested in a programpresently starting. In fact, consider the case in which a two-hour moviehas one hour remaining. The movie is well underway, and therefore notlikely to be of interest to most content consumers. On the other hand, a30-minute program starting now is much more likely to be of interest.Even so, the movie listing is presented with twice the screen realestate as the 30-minute program, and therefore is visually given muchmore weight, even though there is very little probability that the moviecan be of more interest to content consumers than the 30-minute program.Therefore, use of a time axis can be unnecessarily complex and evencounterintuitive or counterproducitve.

Most traditional guides also lack personalization and present the samecontent to every user. If a user has demonstrated a preference forcertain programs, genres, categories, etc. based on past behavior suchgenerally is not reflected by a channel guide. In particular, userstypically are not directed to the best choices given revealedpreferences. Further, traditional guides also typically lack any rankingof content.

Subject matter disclosed herein relates to an enhanced program guidethat can be at once more useful and efficient as well as simpler, moreintuitive, and/or more convenient than other guides. For example, theenhanced program guide can dispense with the traditional channel-by-timegrid in connection with live television broadcasts or other suitablecontent. Instead, the programming content being broadcast or scheduledto be broadcast from multiple channels can be arranged according to arelevance score/ranking for the programs included in the guide. It isnoted that while a time of broadcast (or even a source channel) can be afactor in determining the relevance score, the presentation of the guidecan be independent of traditional layout axes, namely channel and time.

Program titles can be presented as an ordered list and in someimplementations the list is based solely on the relevance score,typically those titles with higher relevance scores listed first and inorder. Shelves or cells of the guide can be populated with titles basedon one or more filtered query. The filter(s) can include genre,category, quality (e.g., high-definition, standard definition, etc.)time remaining, preferences or parameters tailored to a particular user(or user profile), real-time popularity (e.g., a large or trendingaudience tuning in right now), day part factors and so forth.

Example Program Guide

Various aspects or features of this disclosure are described withreference to the drawings, wherein like reference numerals are used torefer to like elements throughout. In this specification, numerousspecific details are set forth in order to provide a thoroughunderstanding of this disclosure. It should be understood, however, thatcertain aspects of disclosure may be practiced without these specificdetails, or with other methods, components, materials, etc. In otherinstances, well-known structures and devices are shown in block diagramform to facilitate describing the subject disclosure.

It is to be appreciated that in accordance with one or moreimplementations described in this disclosure, users can opt-out ofproviding personal information, demographic information, locationinformation, proprietary information, sensitive information, or the likein connection with data gathering aspects. Moreover, one or moreimplementations described herein can provide for anonymizing collected,received, or transmitted data.

Referring now to FIG. 1, a system 100 is depicted. System 100 can, interalia, create an enhanced program guide that can be presentedindependently of a channel axis and a time axis. Embodiments disclosedherein can, for example, mitigate various issues associated with otherguides, such as those issues detailed herein that arise due to tying thepresentation of the guide to a channel axis or a time axis. System 100can include a memory that stores computer executable components and aprocessor that executes computer executable components stored in thememory, examples of which can be found with reference to FIG. 9. It isto be appreciated that the computer 902 can be used in connection withimplementing one or more of the systems or components shown anddescribed in connection with FIG. 1 and other figures disclosed herein.As depicted, system 100 can include a data component 102, an analysiscomponent 112, and a guide component 118.

Data component 102 can be configured to receive program schedule data104 for a set of channels 106, which can include substantially anynumber, N, of individual channels 1061-106N, which are hereinafterreferred to, either individually or collectively, as channel(s) 106,with appropriate subscripts generally employed only when instructive orconvenient to highlight various distinctions or to better impart thedisclosed concepts. The program schedule data 104 can include a title108 of a program broadcast on a channel 106 and a time 110 associatedwith the broadcast of the program. Typically, set of channels 106 willrelate to television or cable channels, which is distinct fromsingle-provider or even multiple provider on-demand services. Forinstance, issues associated with guides for live television differ fromthose associated with guides for on-demand services in which content isnot broadcast according to a predetermined schedule.

Analysis component 112 can be configured to determine relevance rank 114associated with the program. Determination of relevance rank 114 can beeffectuated in a variety of ways, which is further detailed inconnection with FIG. 5 and herein. In some implementations, relevancerank 114 can be determined based on input data 116, which is alsofurther detailed with reference to FIG. 5 and herein.

Guide component 118 can be configured to select title 108 for inclusionin program guide 120 based on relevance rank 114. Guide component 118can further determine a position within program guide 120 for title 108based on relevance rank 114. It is underscored that guide component 118can facilitate presentation of program guide 120 in a manner that isindependent of channel 106 and time 110 associated with the broadcast.Such a presentation therefore differs from that for other guides andalso solves or mitigates difficulties associated with other guides,which is further detailed in connection with FIGS. 2A-4, which can bereferenced now in conjunction with FIG. 1.

Turning now to FIGS. 2A and 2B, illustrations 200 and 210 are provided.Illustration 200 depicts a single-row example of program guide 120. Inthis case, first program title 202 is listed initially, followed bysecond program title 204 and so on until last program title 206. It isunderstood that user interface elements (not shown) can be provide thatenable scrolling or filtering in some form. Generally, the title 108utilized to populate cell 202 is associated with a program that receivesthe highest relevance rank 114 from among all or a subset of theprograms broadcast or scheduled to be broadcast by set of channels 106.The title 108 associated with the next highest relevance rank 114 can beprovided to cell 204, and so on until the title 108 with the lowestrelevance rank 114 or the lowest relevance rank 114 that satisfies aparticular threshold (e.g., a numeric rank threshold or a title quantitylimit threshold) is included in cell 206.

Illustration 210 of FIG. 2B depicts a grid-based example of programguide 120. Illustration 210 can be substantially similar to illustration200, typically with title 108 associated with the program with thehighest relevance rank 114 presented at cell 212, that with a lowerrelevance rank 114 presented at cell 214, and that with the lowestrelevance rank 114 (among the visible cells) presented at cell 216.

It is appreciated and understood that for illustrations 200 and 210 andothers provided herein, guide 120 can be presented without reliance on achannel dimension or axis or a time dimension or axis. As such, titles108 from different source channels can be in the same row (or otherformatted dimension) and titles with different broadcast start times canbe in the same column (or other formatted dimension). For example, cell212 can be populated with a first title 108 that starts at the same timeas a second title 108 displayed at cell 214, even though cell 212 andcell 214 exist in different columns, which is generally a time axis forother guides, and therefore infeasible for other guides. The first title108 and the second title 108 can also be sourced from differentchannels, even though both are in the same row, which is generally achannel axis for other guides. Furthermore, because presentation ofprogram guide 120 does not depend on a time axis format, a size of anyof the various cells 202-216 is not directly tied to a running length ofan associated program and/or the time remaining of an associatedprogram.

With reference now to FIG. 3, illustration 300 is presented.Illustration 300 provides a multi-category example of program guide 120.In this example, various categories and/or genres 302 can exist, forexample, as an addition filter. For instance, for the “comedies” genre302, titles that appear in cells in the same row can be characterizedaccording to that particular genre 302. Titles 108 of programs withhigher relevance ranks 114 again can be positioned before those of withlower relevance ranks 114, but typically, titles 108 only compete withina respective category. For instance, the first cell of the “romance”genre 302 might be populated with a title 108 with a lower relevancerank 114 than the last cell associated with the “comedies” genre 302.

FIG. 4 provides graphic illustration 400. Graphic illustration 400depicts an example mock up of an example program guide 120. Asillustrated, various program titles 108 can be listed according to anassociated relevance rank 114. Further, titles 108 that are listed canbe filtered based on a selected category/genre 302. As with otherexamples included herein, presentation of titles 108 is not reliant on asource channel or a time dimension. Hence, titles 108 from differentsource channels 106 can be in the same row and sizes of cells and/ortitle icons can be independent of running time of the associatedprogram.

Turning now to FIGS. 5 and 6, diagram 500 and system 600 areillustrated. Diagram 500 provides various example factors fordetermining relevance rank 114. For example, analysis component 112 canemploy any combination of these example factors 502-514 as well as othersuitable factors in determining relevance rank 114. It is understoodthat example factors 502-514 are not to be construed as limiting, butrather as concrete examples. In some implementations at least a portionof the data that analysis component 112 uses to determine relevance rank114 can be received as input data 116, which might include a portion ofdata related to example factors 502-514.

System 600, which can be referenced in conjunction with FIGS. 1 and 5provides additional features or detail in connection with analysiscomponent 112. Analysis component 112 can determine relevance rank 114based on schedule data 104 as well as input data 116 (that can relate tofactors 502-514). Relevance rank 114 can be determined based on machinelearning techniques and can include multiple ranking models, any or allof which can be utilized to determine relevance rank 114. Typically, themultiple ranking models (e.g., first ranking model 6021, second rankingmodel 602 ₂, . . . ) can be applied to a particular type or set of datathat is specific to or supported by the associated model, which isfurther detailed herein.

Still referring to FIG. 5, genre and/or category 502 can be a factoremployed by analysis component 112 in determining relevance rank 114.Genre typically relates to a classification of the subject matter of theprogram such as comedy, mystery, news, etc., whereas category generallyrelates to a type of product associated with the program, for instance,series, feature film, etc. Genre/category 502 can be relevant by itselfor in connection with other factors 504-514, examples of which areprovided herein.

In some embodiments, analysis component 112 can determine relevance rank114 based on time adjustment 504, which relates to an amount of timebefore the program begins or an amount of time remaining or a percentageof time remaining. Time adjustment 504 can be determined from acomparison of a current time to a start time or a remaining time for theprogram. It is understood that programs that are scheduled to start nowor soon are typically more appealing than programs that are wellunderway or ending.

However, certain exceptions exist. For example, programs relating tonews, weather, or the like often still have high appeal even when thebroadcast is nearly over. In fact, certain programs might have evenhigher appeal near the end of the broadcast than the beginning, such assporting events (e.g., with a close score or in overtime) or game shows(e.g., Jeopardy, American Idol, etc.). Hence, in some embodiments,analysis component 112 can time adjustment 504 as a function ofgenre/category 502, wherein time adjustment 504 can influence relevancerank 114 more significantly for a first genre/category 502 than for asecond genre/category 502. For instance a relevance rank 114 for afeature film program might be dramatically penalized if the program iswell underway, whereas a relevance rank 114 for a news program mightsuffer little or no penalty if well underway.

Such can be accomplished by way of one or more ranking models 602associated with analysis component 112. As one example, an n-lengthseries of value pairs, e.g., 10:3, 12:5, 13:9, 15:25, 40:50, 90:10. Thefirst value can represent a percentage of completion of the associatedprogram and the second value can represent a weight associated with apenalty (or bonus) to apply to an associated relevance rank 114. Betweenthe n-length value pairs, either a straight line can be applied or asmoothed line approximating intermediate values. It is appreciated thatonly 1 value pair is needed, as others can be inferred including astarting point of 0:0 (representing the start of the program, for whichno time adjustment weight is applied), and an ending point 100:100. Inthe foregoing manner, time adjustment factor 504 can heavily penalize,e.g., movies that are well underway without penalizing heavily (or atall) a sports program that is well underway. Further, various differentprofiles for programs of a particular genre/category 502 can bepredetermined and can be updated periodically. In particular, adifferent profile can be utilized based on a program running time (e.g.,30 minutes, 60 minutes, 120 minutes, etc.)

Language adjustment 506 can be employed by analysis component 112 todetermine or weight relevance rank 114. Language adjustment 506 can bedetermined by examining a device associated with a content consumer orapplication settings associated with the device (e.g., applicationlanguage settings). Language adjustment 506 can also be determined basedon Internet protocol geolocation techniques for the device. Based onthese or other techniques, penalties or bonuses can be applied to arelevance rank 114 of a given program. For instance, a content consumerin the United States that has Spanish selected as an application settingis also likely to understand some English. As such, Spanish languageprograms can be boosted by, say, 50%, and English language programs canbe penalized, say, 50%. In contrast, a content consumer in the UnitedState that has English selected in a language setting has a much lowerlikelihood of knowing Spanish. Thus, English language programs can beboosted, say, 80% and Spanish language programs can be demoted by, say,95%. Such has an effect of pushing Spanish language content to the ‘endof the shelf,’ and can be utilized to enable rich inferences aboutlanguage in subtle ways, e.g., in different countries and/or locales.For example, multiple languages spoken in a single country can besupported, and such can be based on relative percentages. Further,updates can be provided in real time.

In some embodiments, analysis component 112 can determine relevance rank114 based on media content quality 508 (e.g., high-definition (HD),standard definition (SD), etc.), which can be determined based on ahistory associated with a device of a content consumer or other featuresassociated with the device or features associated with a network orcarrier (e.g., bandwidth, etc.). As one example, if a history revealsthat a content consumer has viewed most or all content in SD, then SDprograms might receive the same or slightly higher bias than HD programsin terms of the media content quality 508 factor. However, if thecontent consumer has viewed many programs in HD in the past, then HDprograms can be more heavily weighted than SD programs. As with mostother factors detailed herein, updates to media content quality 508 canbe made in real time.

In some embodiments, analysis component 112 can determine relevance rank114 based on personalization adjustment 510. Personalization adjustment510 can be based on input data 116 received from a device associatedwith a content consumer such as program or other ratings, a viewhistory, preferences or settings or the like. Moreover, personalizationadjustment 510 can be determined by application of a ranking model 602,which can be different than other ranking models 602 employed inconnection with other types of input data 116. It is appreciated thatranking models 602 associated with other types of media content (e.g.,on-demand content) can differ than those that are directed to livetelevision content. Accordingly, is some embodiments, ranking model 602can be expressly trained for programs associated with live television.By employing techniques associated with personalization adjustment 510,yet another affinity factor can be expressed in connection withrelevance rank 114. Programs with similar content can be promoted andprograms with dissimilar content can be demoted in terms of relevancerank 114.

In some embodiments, analysis component 112 can determine relevance rank114 based on live and/or real time broadcast popularity adjustment 512.For example, adjustment 512 can be determined based on data associatedwith a program that is currently being broadcast by one of the channels106. Such can be based on audience viewer statistics, ratings, or thelike. For example, viewer statistics can be collected in real time andsuch data (e.g., input data 116) can be employed to weight relevancerank 114 for programs that are showing a greater audience in real time.

By way of example, such data can be gathered in a variety of ways. Forinstance, in certain web-based mediums, clicks on “view” links can beaggregated from one or more providers. In other embodiments and/orplatforms, for example, when consumer systems include specific controldevices, other techniques can be utilized. For example, such controldevices can relate to either 1-way or 2-way paired devices. A 1-wayexample can be an infrared blaster one-directional control of, e.g., acable, satellite, or over-the-air (OTA) tuning device(s), typicallycontent provider device(s). A 2-way example can be between a web-basedplatform and/or device and the cable, satellite, or OTA tuning devices.

It is understood that if 2-way pairing is implemented, then very preciseaudience statistics can be collected, e.g., comprehensive statisticsdown to the second throughout the content consumer's view session. Usingsuch real time data can allow timely and relevant updates, includingrefinements of predictive models with actual statistics as well astraining of predictive or other models 602. Such can be utilized toimprove ranking models 602 as well as enable effective ranking ofcertain programs that are “one-off” in nature. An effective of suchranking can identify programs that have a large audience or rapidincrease in viewing, and can boost a relevance ranking 114 associatedwith such programs for all or a portion of users of program guide 120.As another example, content identification techniques, such as audio,video or closed-captioning/text fingerprinting can be utilized toidentify a program and obtain audience viewership. With such atechnique, even 1-way pairing can provide quite precise viewerstatistics that can be utilized as a factor in relevance rank 114.

In some embodiments, analysis component 112 can be configured todetermine relevance rank 114 based on day part adjustment 514. Day partadjustment 514 can be determined based on a calendar time associatedwith a broadcast of an associated program (e.g., a day of the weekand/or a time of the day, such as Monday at 9:00 am, Friday at 8:00 pm,etc.). There exists a strong correlation between a type of program andwhen content consumers tend to watch that program, possibly due to thetypical free time or relaxation time associated with a particulardemographic or other factors.

Yet another ranking model 602 can be employed to determine or predict apopularity associated with a particular program. Factors that can affectday part adjustment 514 can include, e.g., a specific program, aspecific channel, a day of broadcast, a time of broadcast, agenre/category 502, an audience share associated with that station onthat day at that time one week ago, two weeks ago, three weeks ago,etc., as well as an indication if the program is live, a rerun, apremiere or the like. Moreover, such determinations can span time zones,so that an associated ranking model 602 might be more likely todetermine that a program starting in one time zone will be quite popularif the same program was determined to be popular in an earlier timezone.

It is appreciated that some or all of the techniques described herein orotherwise utilized in connection with the disclosed subject matter canbe applied to or tailored for specific locales such as countries,states, provinces, regions, and even particular neighborhoods. It isfurther underscored that ranking models 602 can predict or discoverpopularity, and both types of modeling can be used contemporaneously anddifferent data sets or even on the same data set. For example, a firstranking model 6021 can be utilized to model popularity based on realtime popularity adjustment 512, and a second ranking model 602 ₂ can beused to predict popularity based on day part adjustment 514. Bothranking models 602 (as well as others) can be employed in combination todetermine relevance rank 114 for a particular program.

Furthermore, user profiles can be constructed such that multiple usersof a particular device can maintain separate profiles or an individualuser can maintain multiple profiles. Just as different users/contentconsumers are likely to be interested in different types of programs, agiven user/content consumer might be interested in very differentprograms based on situations. For example, when a parent is searchingfor programs to watch with a young child, such is likely to be verydifferent than the type of content the parent is interested inotherwise. Accordingly, the parent can select a first profile in onecase and a second profile in the other case. Because the profile ischanged, the associated relevance rank 114 for all programs will likelybe different. Thus, the program titles 108 that are selected to populateprogram guide 120 will likely be different as well.

Example Methods for Creating a Program Guide

FIGS. 7 and 8 illustrate various methodologies in accordance withcertain embodiments of this disclosure. While, for purposes ofsimplicity of explanation, the methodologies are shown and described asa series of acts within the context of various flowcharts, it is to beunderstood and appreciated that embodiments of the disclosure are notlimited by the order of acts, as some acts may occur in different ordersand/or concurrently with other acts from that shown and describedherein. For example, those skilled in the art will understand andappreciate that a methodology can alternatively be represented as aseries of interrelated states or events, such as in a state diagram.Moreover, not all illustrated acts may be required to implement amethodology in accordance with the disclosed subject matter.Additionally, it is to be further appreciated that the methodologiesdisclosed hereinafter and throughout this disclosure are capable ofbeing stored on an article of manufacture to facilitate transporting andtransferring such methodologies to computers. The term article ofmanufacture, as used herein, is intended to encompass a computer programaccessible from any computer-readable device or storage media.

FIG. 7 illustrates exemplary method 700. Method 700 can provide for anenhanced program guide that can be presented independent of a channelaxis and a time axis. For example, at reference numeral 702, programlisting information can be received for instance by a data component.The program listing information can relate to a set of channels thatbroadcast a set of programs according to a defined schedule. Forexample, the set of channels can be cable or satellite channels or OTAchannels that have a set schedule relating to programs that arebroadcast as well as the time those programs are broadcast.

At reference numeral 704, a relevance score can be determined (e.g., byan analysis component) for a program from the set of programs. Therelevance score can be determined in a variety of ways that can dependon implementation or available data sets, which is further detailed withreference to FIG. 8.

At reference numeral 706, a program guide can be created with a subsetof the set of programs received at reference numeral 702. The set ofprograms can be selected for inclusion in the program guide based on therelevance score. The subset of programs (that are selected for inclusionin the program guide) can be ordered within the guide based on therelevance score. For instance, programs with a higher relevance scorewill typically appear higher in an order list than programs with lowerrelevance scores. Presentation of the program guide can be in a mannerthat does not include a channel axis, so programs from differentchannels can appear on the same row, etc.; or a time axis, so programswith different start times can appear on the same column, etc. and thesize of a cell that includes a program title can be independent of arunning time of the program.

Turning now to FIG. 8, exemplary method 800 is depicted. Method 800 canprovide for additional features or aspects in connection with theenhanced program guide. Method 800 can begin at the start of insert A.At reference numeral 802, the relevance score determined at referencenumeral 704 can be determined based on a time adjustment factor. Thetime adjustment factor can be a function of an amount of time that haselapsed since a broadcast of the program started. Additionally oralternatively, the time adjustment factor can be a function of an amountof time until a broadcast of the program begins. For example, programsthat are well underway can have an associated relevance score severelypenalized as can programs that are not due to begin for some time.

However, such need not always be the case. For instance, at referencenumeral 804, the time adjustment factor can be weighted based on a genreassociated with the program. Because some genres or other categories ofprograms do not necessarily lose appeal even when nearly over (e.g.,news, weather, sports, etc.), such programs can be appropriatelyweighted in terms of the effect the time adjustment factor has on therelevance score.

At reference numeral 806, the relevance score can be based on a languageassociated with the program. Typically, language factors can be appliedin connection with device or application settings. For example, if adevice or application indicates a preference for a particular language,then programs that are broadcast in that particular language cangenerally be promoted, whereas programs broadcast in other languages cangenerally be demoted to varying degrees.

At reference numeral 808, the relevance score can be determined based ona presentation resolution associated with the program. For example, thispresentation resolution factor can affect the relevance score as afunction of whether the program is presented in high-definition,standard definition, etc.

At reference numeral 810, the relevance score can be determined based ona personalization factor in connection with a consumer of the programcontent. The personalization factor can relate to settings, preferences,histories, ratings, and so forth with respect to the consumer or adevice associated with the consumer. Such data can be employed inconnection with one or more ranking models to determine or infer likesor interests of the consumer as well as dislikes, and such can be usedto influence the relevance score appropriately.

At reference numeral 812, the relevance score can be determined based ona day part factor. The day part factor can relate to a calendar timeassociated with a broadcast of the program. Such can be used inconnection with predictive ranking models and can be utilized to adjustthe relevance score.

At reference numeral 814, the relevance score can be based on a realtime broadcast popularity factor associated with the program. Forexample, if a program currently has a very wide viewership, or israpidly trending for some reason (e.g., viewership suddenly increases),then such can be utilized to influence the relevance score. Likewise, alow viewership or a trend of viewers turning off the program orswitching to other programs can also affect the relevance score,typically in a negative way. Method 800 ends.

Example Operating Environments

The systems and processes described below can be embodied withinhardware, such as a single integrated circuit (IC) chip, multiple ICs,an application specific integrated circuit (ASIC), or the like. Further,the order in which some or all of the process blocks appear in eachprocess should not be deemed limiting. Rather, it should be understoodthat some of the process blocks can be executed in a variety of orders,not all of which may be explicitly illustrated herein.

With reference to FIG. 9, a suitable environment 900 for implementingvarious aspects of the claimed subject matter includes a computer 902.The computer 902 includes a processing unit 904, a system memory 906, acodec 935, and a system bus 908. The system bus 908 couples systemcomponents including, but not limited to, the system memory 906 to theprocessing unit 904. The processing unit 904 can be any of variousavailable processors. Dual microprocessors and other multiprocessorarchitectures also can be employed as the processing unit 904.

The system bus 908 can be any of several types of bus structure(s)including the memory bus or memory controller, a peripheral bus orexternal bus, and/or a local bus using any variety of available busarchitectures including, but not limited to, Industrial StandardArchitecture (ISA), Micro-Channel Architecture (MSA), Extended ISA(EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB),Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus(USB), Advanced Graphics Port (AGP), Personal Computer Memory CardInternational Association bus (PCMCIA), Firewire (IEEE 1394), and SmallComputer Systems Interface (SCSI).

The system memory 906 includes volatile memory 910 and non-volatilememory 912. The basic input/output system (BIOS), containing the basicroutines to transfer information between elements within the computer902, such as during start-up, is stored in non-volatile memory 912. Inaddition, according to present innovations, codec 935 may include atleast one of an encoder or decoder, wherein the at least one of anencoder or decoder may consist of hardware, software, or a combinationof hardware and software. Although, codec 935 is depicted as a separatecomponent, codec 935 may be contained within non-volatile memory 912 orincluded in other components detailed herein such as compilationcomponent 126. By way of illustration, and not limitation, non-volatilememory 912 can include read only memory (ROM), programmable ROM (PROM),electrically programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), or flash memory. Volatile memory 910 includesrandom access memory (RAM), which acts as external cache memory.According to present aspects, the volatile memory may store the writeoperation retry logic (not shown in FIG. 9) and the like. By way ofillustration and not limitation, RAM is available in many forms such asstatic RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), doubledata rate SDRAM (DDR SDRAM), and enhanced SDRAM (ESDRAM.

Computer 902 may also include removable/non-removable,volatile/non-volatile computer storage medium. FIG. 9 illustrates, forexample, disk storage 914. Disk storage 914 includes, but is not limitedto, devices like a magnetic disk drive, solid state disk (SSD) floppydisk drive, tape drive, flash memory card, or memory stick. In addition,disk storage 914 can include storage medium separately or in combinationwith other storage medium including, but not limited to, an optical diskdrive such as a compact disk ROM device (CD-ROM), CD recordable drive(CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatiledisk ROM drive (DVD-ROM). To facilitate connection of the disk storagedevices 914 to the system bus 908, a removable or non-removableinterface is typically used, such as interface 916. It is appreciatedthat storage devices 914 can store information related to a user. Suchinformation might be stored at or provided to a server or to anapplication running on a user device. In one embodiment, the user can benotified (e.g., by way of output device(s) 936) of the types ofinformation that are stored to disk storage 914 and/or transmitted tothe server or application. The user can be provided the opportunity toopt-in or opt-out of having such information collected and/or sharedwith the server or application e.g., by way of input from inputdevice(s) 928).

It is to be appreciated that FIG. 9 describes software that acts as anintermediary between users and the basic computer resources described inthe suitable operating environment 900. Such software includes anoperating system 918. Operating system 918, which can be stored on diskstorage 914, acts to control and allocate resources of the computersystem 902. Applications 920 take advantage of the management ofresources by operating system 918 through program modules 924, andprogram data 926, such as the boot/shutdown transaction table and thelike, stored either in system memory 906 or on disk storage 914. It isto be appreciated that the claimed subject matter can be implementedwith various operating systems or combinations of operating systems.

A user enters commands or information into the computer 902 throughinput device(s) 928. Input devices 928 include, but are not limited to,a pointing device such as a mouse, stylus, touch pad, keyboard,microphone, joystick, game pad, satellite dish, scanner, TV tuner card,digital camera, digital video camera, web camera, and the like. Theseand other input devices connect to the processing unit 904 through thesystem bus 908 via interface port(s) 930. Interface port(s) 930 include,for example, a serial port, a parallel port, a game port, and auniversal serial bus (USB). Output device(s) 936 use some of the sametype of ports as input device(s) 928. Thus, for example, a USB port maybe used to provide input to computer 902 and to output information fromcomputer 902 to an output device 936. Output adapter 934 is provided toillustrate that there are some output devices 936 like monitors,speakers, and printers, among other output devices 936, which requirespecial adapters. The output adapters 934 include, by way ofillustration and not limitation, video and sound cards that provide ameans of connection between the output device 936 and the system bus908. It should be noted that other devices and/or systems of devicesprovide both input and output capabilities such as remote computer(s)938.

Computer 902 can operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer(s)938. The remote computer(s) 938 can be a personal computer, a server, arouter, a network PC, a workstation, a microprocessor based appliance, apeer device, a smart phone, a tablet, or other network node, andtypically includes many of the elements described relative to computer902. For purposes of brevity, only a memory storage device 940 isillustrated with remote computer(s) 938. Remote computer(s) 938 islogically connected to computer 902 through a network interface 942 andthen connected via communication connection(s) 944. Network interface942 encompasses wire and/or wireless communication networks such aslocal-area networks (LAN) and wide-area networks (WAN) and cellularnetworks. LAN technologies include Fiber Distributed Data Interface(FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ringand the like. WAN technologies include, but are not limited to,point-to-point links, circuit switching networks like IntegratedServices Digital Networks (ISDN) and variations thereon, packetswitching networks, and Digital Subscriber Lines (DSL).

Communication connection(s) 944 refers to the hardware/software employedto connect the network interface 942 to the bus 908. While communicationconnection 944 is shown for illustrative clarity inside computer 902, itcan also be external to computer 902. The hardware/software necessaryfor connection to the network interface 942 includes, for exemplarypurposes only, internal and external technologies such as, modemsincluding regular telephone grade modems, cable modems and DSL modems,ISDN adapters, and wired and wireless Ethernet cards, hubs, and routers.

Referring now to FIG. 10, there is illustrated a schematic block diagramof a computing environment 1000 in accordance with this specification.The system 1000 includes one or more client(s) 1002 (e.g., laptops,smart phones, PDAs, media players, computers, portable electronicdevices, tablets, and the like). The client(s) 1002 can be hardwareand/or software (e.g., threads, processes, computing devices). Thesystem 1000 also includes one or more server(s) 1004. The server(s) 1004can also be hardware or hardware in combination with software (e.g.,threads, processes, computing devices). The servers 1004 can housethreads to perform transformations by employing aspects of thisdisclosure, for example. One possible communication between a client1002 and a server 1004 can be in the form of a data packet transmittedbetween two or more computer processes wherein the data packet mayinclude video data. The data packet can include a cookie and/orassociated contextual information, for example. The system 1000 includesa communication framework 1006 (e.g., a global communication networksuch as the Internet, or mobile network(s)) that can be employed tofacilitate communications between the client(s) 1002 and the server(s)1004.

Communications can be facilitated via a wired (including optical fiber)and/or wireless technology. The client(s) 1002 are operatively connectedto one or more client data store(s) 1008 that can be employed to storeinformation local to the client(s) 1002 (e.g., cookie(s) and/orassociated contextual information). Similarly, the server(s) 1004 areoperatively connected to one or more server data store(s) 1010 that canbe employed to store information local to the servers 1004.

In one embodiment, a client 1002 can transfer an encoded file, inaccordance with the disclosed subject matter, to server 1004. Server1004 can store the file, decode the file, or transmit the file toanother client 1002. It is to be appreciated, that a client 1002 canalso transfer uncompressed file to a server 1004 and server 1004 cancompress the file in accordance with the disclosed subject matter.Likewise, server 1004 can encode video information and transmit theinformation via communication framework 1006 to one or more clients1002.

The illustrated aspects of the disclosure may also be practiced indistributed computing environments where certain tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules can belocated in both local and remote memory storage devices.

Moreover, it is to be appreciated that various components describedherein can include electrical circuit(s) that can include components andcircuitry elements of suitable value in order to implement theembodiments of the subject innovation(s). Furthermore, it can beappreciated that many of the various components can be implemented onone or more integrated circuit (IC) chips. For example, in oneembodiment, a set of components can be implemented in a single IC chip.In other embodiments, one or more of respective components arefabricated or implemented on separate IC chips.

What has been described above includes examples of the embodiments ofthe present invention. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the claimed subject matter, but it is to be appreciated thatmany further combinations and permutations of the subject innovation arepossible. Accordingly, the claimed subject matter is intended to embraceall such alterations, modifications, and variations that fall within thespirit and scope of the appended claims. Moreover, the above descriptionof illustrated embodiments of the subject disclosure, including what isdescribed in the Abstract, is not intended to be exhaustive or to limitthe disclosed embodiments to the precise forms disclosed. While specificembodiments and examples are described herein for illustrative purposes,various modifications are possible that are considered within the scopeof such embodiments and examples, as those skilled in the relevant artcan recognize. Moreover, use of the term “an embodiment” or “oneembodiment” throughout is not intended to mean the same embodimentunless specifically described as such.

In particular and in regard to the various functions performed by theabove described components, devices, circuits, systems and the like, theterms used to describe such components are intended to correspond,unless otherwise indicated, to any component which performs thespecified function of the described component (e.g., a functionalequivalent), even though not structurally equivalent to the disclosedstructure, which performs the function in the herein illustratedexemplary aspects of the claimed subject matter. In this regard, it willalso be recognized that the innovation includes a system as well as acomputer-readable storage medium having computer-executable instructionsfor performing the acts and/or events of the various methods of theclaimed subject matter.

The aforementioned systems/circuits/modules have been described withrespect to interaction between several components/blocks. It can beappreciated that such systems/circuits and components/blocks can includethose components or specified sub-components, some of the specifiedcomponents or sub-components, and/or additional components, andaccording to various permutations and combinations of the foregoing.Sub-components can also be implemented as components communicativelycoupled to other components rather than included within parentcomponents (hierarchical). Additionally, it should be noted that one ormore components may be combined into a single component providingaggregate functionality or divided into several separate sub-components,and any one or more middle layers, such as a management layer, may beprovided to communicatively couple to such sub-components in order toprovide integrated functionality. Any components described herein mayalso interact with one or more other components not specificallydescribed herein but known by those of skill in the art.

In addition, while a particular feature of the subject innovation mayhave been disclosed with respect to only one of several implementations,such feature may be combined with one or more other features of theother implementations as may be desired and advantageous for any givenor particular application. Furthermore, to the extent that the terms“includes,” “including,” “has,” “contains,” variants thereof, and othersimilar words are used in either the detailed description or the claims,these terms are intended to be inclusive in a manner similar to the term“comprising” as an open transition word without precluding anyadditional or other elements.

As used in this application, the terms “component,” “module,” “system,”or the like are generally intended to refer to a computer-relatedentity, either hardware (e.g., a circuit), a combination of hardware andsoftware, software, or an entity related to an operational machine withone or more specific functionalities. For example, a component may be,but is not limited to being, a process running on a processor (e.g.,digital signal processor), a processor, an object, an executable, athread of execution, a program, and/or a computer. By way ofillustration, both an application running on a controller and thecontroller can be a component. One or more components may reside withina process and/or thread of execution and a component may be localized onone computer and/or distributed between two or more computers. Further,a “device” can come in the form of specially designed hardware;generalized hardware made specialized by the execution of softwarethereon that enables the hardware to perform specific function; softwarestored on a computer readable medium; or a combination thereof.

Moreover, the words “example” or “exemplary” are used herein to meanserving as an example, instance, or illustration. Any aspect or designdescribed herein as “exemplary” is not necessarily to be construed aspreferred or advantageous over other aspects or designs. Rather, use ofthe words “example” or “exemplary” is intended to present concepts in aconcrete fashion. As used in this application, the term “or” is intendedto mean an inclusive “or” rather than an exclusive “or”. That is, unlessspecified otherwise, or clear from context, “X employs A or B” isintended to mean any of the natural inclusive permutations. That is, ifX employs A; X employs B; or X employs both A and B, then “X employs Aor B” is satisfied under any of the foregoing instances. In addition,the articles “a” and “an” as used in this application and the appendedclaims should generally be construed to mean “one or more” unlessspecified otherwise or clear from context to be directed to a singularform.

Computing devices typically include a variety of media, which caninclude computer-readable storage media and/or communications media, inwhich these two terms are used herein differently from one another asfollows. Computer-readable storage media can be any available storagemedia that can be accessed by the computer, is typically of anon-transitory nature, and can include both volatile and nonvolatilemedia, removable and non-removable media. By way of example, and notlimitation, computer-readable storage media can be implemented inconnection with any method or technology for storage of information suchas computer-readable instructions, program modules, structured data, orunstructured data. Computer-readable storage media can include, but arenot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disk (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or other tangible and/or non-transitorymedia which can be used to store desired information. Computer-readablestorage media can be accessed by one or more local or remote computingdevices, e.g., via access requests, queries or other data retrievalprotocols, for a variety of operations with respect to the informationstored by the medium.

On the other hand, communications media typically embodycomputer-readable instructions, data structures, program modules orother structured or unstructured data in a data signal that can betransitory such as a modulated data signal, e.g., a carrier wave orother transport mechanism, and includes any information delivery ortransport media. The term “modulated data signal” or signals refers to asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in one or more signals. By way ofexample, and not limitation, communication media include wired media,such as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared and other wireless media.

What is claimed is:
 1. A system for media guidance, the systemcomprising: a memory that stores computer executable components; and ahardware processor that, when executing the computer executablecomponents stored in the memory, is configured to: receive guidance dataassociated with a plurality of media content items; determine arelevance score associated with each media content item of the pluralityof media content items, wherein the relevance score is based on alanguage adjustment value that is determined by (i) determining alocation of a user device using one or more Internet protocolgeolocation techniques and (ii) determining the language adjustmentvalue for adjusting relevance scores based on the determined location;generate a modified program guide with a subset of media content itemsfrom the plurality of media content items selected based on therelevance score, wherein the subset of media content items are orderedin the modified program guide based on the relevance score andindependent of source information and time information received with theguidance data; and cause the modified program guide to be presented. 2.The system of claim 1, wherein the guidance data comprises programschedule data for a plurality of channels that broadcast a plurality ofprograms, wherein the program schedule data includes, for each of theplurality of channels, title information of a program being broadcast ona channel and time information associated with a time of the broadcastof the program.
 3. The system of claim 2, wherein the modified programguide is independent of a channel axis associated with the channel and atime axis associated with the time of the broadcast.
 4. The system ofclaim 1, wherein the hardware processor is further configured to:receive a request to present a program guide on the user device; cause aprogram guide to be presented in response to the request; and subsequentto presenting the program guide, detect a viewing style from a pluralityof viewing styles based on content types associated with previouslyviewed media content items.
 5. The system of claim 4, wherein thehardware processor is further configured to replace the program guidewith the modified program guide.
 6. The system of claim 4, wherein thehardware processor is further configured to determine, from the userdevice, a plurality of relevance factors based on the previously viewedmedia content items that include a time adjustment value based on thetime remaining in the broadcast of the media content item, the languageadjustment value, and a popularity adjustment value.
 7. The system ofclaim 6, wherein the hardware processor is further configured todetermine the relevance score associated with each media content itemfrom the plurality of media content items based on the detected viewingstyle, wherein the relevance score is determined by selecting a rankingmodel for each of the plurality of relevance factors from a plurality ofranking models based on a type of relevance factor received from theuser device, applying each of the selected ranking models to thecorresponding relevance factor in which a first output from a firstranking model indicates a likelihood that a user of the user devicewould watch each media content item based on the determined timeadjustment value, a second output from a second ranking model indicatesa likelihood that the user of the user device would watch each mediacontent item presented in a particular language based on the determinedlanguage adjustment value, and a third output from a third ranking modelindicates a likelihood that the user of the user device would watch eachmedia content item having a particular viewership based on thedetermined popularity adjustment value, and combining outputs from eachof the selected ranking models to generate the relevance score.
 8. Thesystem of claim 6, wherein the hardware processor is further configuredto determine the relevance score based on a media content qualityadjustment determined based on data associated with the user device. 9.The system of claim 6, wherein the hardware processor is furtherconfigured to determine the relevance score based on a live broadcastpopularity adjustment determined based on data associated with the mediacontent item.
 10. The system of claim 6, wherein the hardware processoris further configured to determine the relevance score based on adaypart adjustment determined based on a calendar time associated withthe broadcast of the media content item.
 11. A method for mediaguidance, the method comprising: receiving guidance data associated witha plurality of media content items; determining a relevance scoreassociated with each media content item of the plurality of mediacontent items, wherein the relevance score is based on a languageadjustment value that is determined by (i) determining a location of auser device using one or more Internet protocol geolocation techniquesand (ii) determining the language adjustment value for adjustingrelevance scores based on the determined location; generating a modifiedprogram guide with a subset of media content items from the plurality ofmedia content items selected based on the relevance score, wherein thesubset of media content items are ordered in the modified program guidebased on the relevance score and independent of source information andtime information received with the guidance data; and causing themodified program guide to be presented.
 12. The method of claim 11,wherein the guidance data comprises program schedule data for aplurality of channels that broadcast a plurality of programs, whereinthe program schedule data includes, for each of the plurality ofchannels, title information of a program being broadcast on a channeland time information associated with a time of the broadcast of theprogram.
 13. The method of claim 12, wherein the modified program guideis independent of a channel axis associated with the channel and a timeaxis associated with the time of the broadcast.
 14. The method of claim11, further comprising: receiving a request to present a program guideon the user device; causing a program guide to be presented in responseto the request; and subsequent to presenting the program guide,detecting a viewing style from a plurality of viewing styles based oncontent types associated with previously viewed media content items. 15.The method of claim 14, further comprising replacing the program guidewith the modified program guide.
 16. The method of claim 14, furthercomprising determining, from the user device, a plurality of relevancefactors based on the previously viewed media content items that includea time adjustment value based on the time remaining in the broadcast ofthe media content item, the language adjustment value, and a popularityadjustment value.
 17. The method of claim 16, further comprisingdetermining the relevance score associated with each media content itemfrom the plurality of media content items based on the detected viewingstyle, wherein the relevance score is determined by selecting a rankingmodel for each of the plurality of relevance factors from a plurality ofranking models based on a type of relevance factor received from theuser device, applying each of the selected ranking models to thecorresponding relevance factor in which a first output from a firstranking model indicates a likelihood that a user of the user devicewould watch each media content item based on the determined timeadjustment value, a second output from a second ranking model indicatesa likelihood that the user of the user device would watch each mediacontent item presented in a particular language based on the determinedlanguage adjustment value, and a third output from a third ranking modelindicates a likelihood that the user of the user device would watch eachmedia content item having a particular viewership based on thedetermined popularity adjustment value, and combining outputs from eachof the selected ranking models to generate the relevance score.
 18. Themethod of claim 16, further comprising determining the relevance scorebased on a media content quality adjustment determined based on dataassociated with the user device.
 19. The method of claim 16, furthercomprising determining the relevance score based on a live broadcastpopularity adjustment determined based on data associated with the mediacontent item.
 20. The method of claim 16, further comprising determiningthe relevance score based on a daypart adjustment determined based on acalendar time associated with the broadcast of the media content item.21. A non-transitory computer-readable medium containingcomputer-executable instructions that, when executed by a processor,cause the processor to perform a method for media guidance, the methodcomprising: receiving guidance data associated with a plurality of mediacontent items; determining a relevance score associated with each mediacontent item of the plurality of media content items, wherein therelevance score is based on a language adjustment value that isdetermined by (i) determining a location of a user device using one ormore Internet protocol geolocation techniques and (ii) determining thelanguage adjustment value for adjusting relevance scores based on thedetermined location; generating a modified program guide with a subsetof media content items from the plurality of media content itemsselected based on the relevance score, wherein the subset of mediacontent items are ordered in the modified program guide based on therelevance score and independent of source information and timeinformation received with the guidance data; and causing the modifiedprogram guide to be presented.